package com.shengchao.examstar.rpc.question.resp;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 学习总结响应DTO
 */
@Data
public class LearningSummaryResp implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;
    
    /**
     * 用户做题记录ID
     */
    private Long userDoQuestionSetId;
    
    /**
     * 题集ID
     */
    private Long questionSetId;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 总体评估
     * 例如：A（优秀）、B（良好）、C（一般）、D（需要加强）
     */
    private String overallAssessment;
    
    /**
     * 知识点总结
     * 对用户学习情况的整体总结文本
     */
    private String summarize;
    
    /**
     * 建议知识点
     * 逗号分隔的知识点列表
     */
    private String learningSuggestions;
    
    /**
     * 推荐知识点
     * 逗号分隔的知识点列表
     */
    private String recommendedLearning;
    
    /**
     * 创建时间
     */
    private LocalDateTime date;
    
    /**
     * 学习建议知识点列表
     */
    private List<KnowledgeItem> learningSuggestionsList;
    
    /**
     * 推荐学习知识点列表
     */
    private List<KnowledgeItem> recommendedLearningList;
    
    /**
     * 知识点项
     */
    @Data
    public static class KnowledgeItem implements Serializable {
        
        private static final long serialVersionUID = 1L;
        
        /**
         * 知识点ID
         */
        private Long id;
        
        /**
         * 知识点名称
         */
        private String name;
    }
} 